package com.shop.cloud.model.request;

import io.swagger.annotations.ApiModelProperty;
import lombok.ToString;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * @author Alex
 */
@ToString(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler",
		"fieldHandler" }, ignoreUnknown = true)
public class GetFundListRequest extends RestfulRequest {

	private static final long serialVersionUID = -3286520204644035655L;

	public static final int TRADE_TYPE_INFUND = 1; // 1）充值
	public static final int TRADE_TYPE_BUY_HONGFU_GOODS = 2; // 2）购买鸿福商品
	public static final int TRADE_TYPE_BUY_POINTS_GOODS = 3; // 3）购买积分商品
	public static final int TRADE_TYPE_BUY_TRAVEL_GOODS = 4; // 4）购买旅游产品
	public static final int TRADE_TYPE_POINTS_GIVE = 5; // 5）积分赠送
	public static final int TRADE_TYPE_REGISTER_GIVE = 6; // 6）注册赠送
	public static final int TRADE_TYPE_EVERYDAY_SIGN = 7; // 7）每日签到
	public static final int TRADE_TYPE_SYS_GIVE = 8; // 8）系统赠送
	public static final int TRADE_TYPE_SYS_REDUCT = 9; // 9）系统扣除
	public static final int TRADE_TYPE_INVITE_FRIEND = 10; // 10）邀请好友
	public static final int TRADE_TYPE_DISTRIBUTION_REWARD = 11; // 11）分销提成
	public static final int TRADE_TYPE_ENROLL_ACTIVITY = 12; // 12）报名活动

	public static final int SEARCH_TYPE_TRADER_USER_ID = 1; // 搜索交易人ID
	public static final int SEARCH_TYPE_TRADER_NICKNAME = 2; // 搜索交易人昵称
	public static final int SEARCH_TYPE_TRADER_NO = 3; // 搜索交易单号
	public static final int SEARCH_TYPE_TRADE_OBJER_USER_ID = 4; // 搜索交易对象ID
	public static final int SEARCH_TYPE_TRADE_OBJER_NICKNAME = 5; // 搜索交易对象昵称

	@JsonProperty("tradeType")
	@ApiModelProperty(value = "交易类型。1）充值 2）购买鸿福商品 3）购买积分商品 4）购买旅游产品 5）积分赠送 6）注册赠送 7）每日签到 8）系统赠送 9）系统扣除 10）邀请好友 11）分销提成 12）报名活动", example = "", required = false)
	private int tradeType;

	@JsonProperty("searchType")
	@ApiModelProperty(value = "搜索方式，1搜索交易人ID，2搜索交易人昵称，3搜索交易单号，4搜索交易对象ID，5搜索交易对象昵称", example = "", required = false)
	private int searchType;

	@JsonProperty("keyword")
	@ApiModelProperty(value = "搜索关键词", example = "", required = false)
	private String key;

	@JsonProperty("startTime")
	@ApiModelProperty(value = "开始时间,格式：YYYY-MM-dd hh:mm:ss", example = "", required = false)
	private String start_time;

	@JsonProperty("endTime")
	@ApiModelProperty(value = "结束时间,格式：YYYY-MM-dd hh:mm:ss", example = "", required = false)
	private String end_time;

	@JsonProperty("userId")
	@ApiModelProperty(value = "交易人id", example = "", required = false)
	private Integer userId;

	@JsonProperty("nickName")
	@ApiModelProperty(value = "交易人昵称", example = "", required = false)
	private String nickName;

	@JsonProperty("orderNo")
	@ApiModelProperty(value = "交易单号", example = "", required = false)
	private String orderNo;

	@JsonProperty("objNickName")
	@ApiModelProperty(value = "交易对象昵称", example = "", required = false)
	private String objNickName;

	@JsonProperty("objId")
	@ApiModelProperty(value = "交易对象Id", example = "", required = false)
	private String objId;

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getNickName() {
		return nickName;
	}

	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getObjNickName() {
		return objNickName;
	}

	public void setObjNickName(String objNickName) {
		this.objNickName = objNickName;
	}

	public String getObjId() {
		return objId;
	}

	public void setObjId(String objId) {
		this.objId = objId;
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public int getSearchType() {
		return searchType;
	}

	public void setSearchType(int searchType) {
		this.searchType = searchType;
	}

	public String getStart_time() {
		return start_time;
	}

	public void setStart_time(String start_time) {
		this.start_time = start_time;
	}

	public String getEnd_time() {
		return end_time;
	}

	public void setEnd_time(String end_time) {
		this.end_time = end_time;
	}

	public int getTradeType() {
		return tradeType;
	}

	public void setTradeType(int tradeType) {
		this.tradeType = tradeType;
	}
}
